第8章 排序算法与查找

排序是我们在实际应用中最多的一种场景,一般来说主要分为排序、查找,这两种场景使用都比较多。

在本章我们将对几种常见的排序算法进行讲解,目的是帮助我们可以更深入的理解算法、数据结构。

同时我们也将针对查找算法进行讲解,其中包括线性查找、二分查找以及一些常用的查找算法。

在之前我们讲解的数据结构中,其实已经涉及到了一些排序、查找的操作,比如链表的查找、大小堆、哈希查找。

通过本章的学习,我们可以掌握常用的冒泡、选择、插入、堆、快速、归并排序方式,以及常用的查找算法。

几种算法复杂度总结

算法 最好情况时间复杂度 最坏情况时间复杂度 平均情况时间复杂度 空间复杂度
冒泡排序 O(n) O(n²) O(n²) O(1)
选择排序 O(n²) O(n²) O(n²) O(1)
插入排序 O(n) O(n²) O(n²) O(1)
快速排序 O(n log n) O(n²) O(n log n) O(log n)
归并排序 O(n log n) O(n log n) O(n log n) O(n)
线性查找 O(n) O(n) O(n) O(1)
二分查找 O(1) O(log n) O(log n) O(1)

results matching ""

    No results matching ""